package settings

// MySQLConfig 数据库配置
type MySQLConfig struct {
	Host         string `mapstructure:"host"`
	Port         string `mapstructure:"port"`
	DB           string `mapstructure:"db"`
	UserName     string `mapstructure:"user_name"`
	Password     string `mapstructure:"password"`
	Local        string `mapstructure:"use_local"`    // 使用本地时间
	ParseTime    bool   `mapstructure:"parse_time"`   // 解析事时间类型
	MaxOpenConns int64  `mapstructure:"maxOpenConns"` // 连接池最大链接数量
	MaxIdleConns int64  `mapstructure:"maxIdleConns"` // 连接池最大闲置熟练

}

// RedisConfig 缓存配置
type RedisConfig struct {
	Host            string `mapstructure:"host"`
	Port            string `mapstructure:"port"`
	AdminTokenDB    int64  `mapstructure:"admin_token_db"`    // 管理员 token
	UserTokenDB     int64  `mapstructure:"user_token_db"`     // 用户 token
	UserVoteDB      int64  `mapstructure:"user_vote_db"`      // 用户点赞管路
	PermissionDB    int64  `mapstructure:"permission_db"`     // 管理员权限管理
}

// ZapLogConfig 日志配置
type ZapLogConfig struct {
	FileName   string `mapstructure:"file_name"`   // 日志文件名称
	MaxSize    int64  `mapstructure:"max_size"`    // 最大备份体积 Mb
	MaxAge     int64  `mapstructure:"max_age"`     // 最大备份时间
	MaxBackups int64  `mapstructure:"max_backups"` // 最大备份数量
	LogLevel   int64  `mapstructure:"log_level"`   // 日志等级
	LocalTime  bool   `mapstructure:"local_time"`  // 备份文件名使用本地时间
	Compress   bool   `mapstructure:"compress"`    // 日志文件是否压缩
}
